<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<input type="text" id="numId"/>
		<input type="button" value="阶乘" onclick="cal()" />
		=
		<span id="resultId"></span>
		
		<script type="text/javascript">
			function cal() {
				var num = document.getElementById("numId").value;
				var resultSpan = document.getElementById("resultId");
				
				// "" 和0都是控制，==比较时候是相等
				// 而且isNaN认为""空字符串是一个数字
				if(num == "") {
					resultSpan.innerHTML = "不能为空";
					return;
				}
				// 算计阶乘，考虑一下如果输入的不是数字isNaN()
				/* if(isNaN(num) == true) {
					
				} */
				if(isNaN(num)) {// 返回true代表：不是一个数字
					resultSpan.innerHTML = "这不是一个数字";
					return;
				}
				
				if(num < 0) {
					resultSpan.innerHTML = "负数没有阶乘";
				} else if(num == 0) {
					resultSpan.innerHTML = 1;
				} else {
					// n!=n*(n-1)*(n-2)..3*2*1
					var result = 1;
					for (var i = num; i >=1; i--) {
						result = result * i;
					}
					resultSpan.innerHTML = result;
				}
			}
		</script>
	</body>
</html>
